package com.aishua.fire.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.aishua.fire.entity.app.AppCheckItemDetailsInfo;
import com.aishua.fire.entity.app.AppCheckPlanDetailsInfo;
import com.aishua.fire.entity.app.AppCheckPlanRespInfo;
import com.aishua.fire.entity.app.AppCheckPointDetailsInfo;
import com.aishua.fire.entity.checkManager.CheckItemRespInfo;
import com.aishua.fire.entity.checkManager.CheckPlanInfo;
import com.aishua.fire.entity.checkManager.CheckPlanReqInfo;
import com.aishua.fire.entity.checkManager.CheckPlanRespUserInfo;
import com.aishua.fire.entity.checkManager.CheckPlanSatisticalInfo;
import com.aishua.fire.entity.checkManager.CheckPointInfo;
import com.aishua.fire.entity.checkManager.CheckPointReqInfo;
import com.aishua.fire.entity.checkManager.CheckPointRespInfo;
import com.aishua.fire.entity.checkManager.CheckPointRespRouteInfo;
import com.aishua.fire.entity.checkManager.CheckPointSatisticalInfo;
import com.aishua.fire.entity.checkManager.CheckRecordDetailsTwoListRespInfo;
import com.aishua.fire.entity.checkManager.CheckRecordDetailsTwoRespInfo;
import com.aishua.fire.entity.checkManager.CheckRecordRespInfo;
import com.aishua.fire.entity.checkManager.CheckRouteInfo;
import com.aishua.fire.entity.checkManager.CheckRouteReqInfo;

public interface CheckManagerMapper {


	/** 添加巡检计划*/
	void addCheckPlan(CheckPlanReqInfo checkPlan);

	/** 删除巡检计划*/
	void delCheckPlan(String id);

	/** 分页查询巡检路线*/
	List<CheckRouteInfo> searchRouteList(Map<String, String> map);

	/** 查询巡检路线条数*/
	int searchRouteTotal(Map<String, String> map);

	/** 修改巡检计划接口*/
	void updateCheckPlan(CheckPlanReqInfo checkPlan);

	/** 添加巡检路线接口*/
	void addCheckRoute(CheckRouteReqInfo checkRoute);
	
	/** 修改巡检路线接口*/
	void updateCheckRoute(CheckRouteReqInfo checkRoute);
	
	/** 删除巡检路线接口*/
	void delRoute(String id);

	/** 分页查询巡检点接口*/
	List<CheckPointInfo> searchPointList(Map<String, String> map);

	/** 查询巡检点条数*/
	int searchPointTotal(Map<String, String> map);

	/** 添加巡检点*/
	void addCheckPoint(CheckPointReqInfo checkPoint);

	/** 删除巡检点*/
	void delPoint(String id);
	
	/** 修改巡检点*/
	void updateCheckPoint(CheckPointReqInfo checkPoint);

	List<CheckPlanInfo> searchPlanList(Map<String, String> map);

	int searchPlanTotal(Map<String, String> map);

	void updatePointImg(@Param("picName")String picName, @Param("num")String num);

	void addPointItem(Map<String, String> map);

	void addPointRoute(Map<String, String> map);

	void addPlanDateils(Map<String, String> map);

	void addPlanWithUser(Map<String, String> ma);

	List<CheckItemRespInfo> getCheckItemInfo(Map<String, String> pa);

	List<CheckPointRespInfo> getCheckPointInfo(Map<String, String> pa);

	List<CheckPlanRespUserInfo> getCheckPlanByUserInfo(Map<String, String> pa);


	void updatePointItem(Map<String, String> map);

//	List<CheckPointRespRouteInfo> checkPointRespRouteInfo(Map<String, String> pa);

	List<String> findByPointNum(String num);

	List<String> findByRouteNum(String route_num);

	List<String> findByPlanNum(String num);

	/**
	 * 查询巡检计划统计分析列表
	 */
	List<CheckPlanSatisticalInfo> getPlanStatisticalList(Map<String, String> map);

	/**
	 * 查询巡检计划统计分析列表数量
	 */
	int planStatisticalTotal(Map<String, String> map);

	List<CheckPointSatisticalInfo> getPointStatisticalList(Map<String, String> map);

	int getPointStatisticalTotal(Map<String, String> map);

	List<CheckRecordRespInfo> searchRecordList(Map<String, String> map);

	List<CheckRecordRespInfo> exportRecord(String [] ids);

	List<AppCheckPlanRespInfo> searchPlanListByApp();

	AppCheckPlanDetailsInfo checkPlanDetailsByApp(String id);

	List<CheckPointRespInfo> checkPointByApp(String route_id);

	AppCheckPointDetailsInfo checkPointDetailsByApp(String id);

	List<CheckItemRespInfo> checkItemByApp(String id);

	AppCheckItemDetailsInfo checkItemDetailsByApp(String id);

	void delPonitWithRoute(String id);

	void delRouteWithPoint(String id);

	List<CheckPointRespRouteInfo> checkPointRespRouteInfo(Map<String, String> pa);

	List<CheckPlanRespUserInfo> checkUserInfoByapp(String id);

	   /**
     * 查询巡检记录详情接口
     */
    CheckRecordDetailsTwoRespInfo getRecordDetails(String r_id);

    /**
     * 查询巡检记录 巡检项目详情接口
     */
    List<CheckRecordDetailsTwoListRespInfo> getrecordItemDetails(String r_id);

}
